#ifndef GAMEHPP
#define GAMEHPP
#include <algorithm>
#include <cstdlib>
#include <list>
#include <utility>
#include <vector>

class Game {
  typedef unsigned int uin;

  const uin rows, columns;
  const uin sizeField;
  const uin paddingX, paddingY;
  std::vector<std::pair<unsigned int, unsigned int>> field;
  uin foodCord;

public:
  /*args: windowSizeX, windowSizeY, size of one block, size of paddings*/
  Game();
  Game(uin sFx, uin sFy, uin sB, uin sP);
  const std::vector<std::pair<unsigned int, unsigned int>> &getField();
  const std::pair<unsigned int, unsigned int> Size();
  const uin get_food_cord();
  void gameover();
  void new_food(unsigned int seed);
};

#endif // !GAME.HPP
